/**
 * 图片URL处理工具
 */
import { getToken } from "@/utils/auth";

// 基础URL
const BASE_URL = "https://www.buaa.fun";

/**
 * 处理图片URL，确保它是完整的可访问URL
 * @param url 原始URL
 * @param addToken 是否添加认证token
 * @returns 处理后的URL
 */
export function formatImageUrl(
  url: string | undefined | null,
  addToken: boolean = false
): string {
  if (!url) return "";

  // 去除可能的@前缀
  if (url.startsWith("@")) {
    url = url.substring(1);
  }

  // 检查URL是否已经包含域名
  if (url.startsWith("http://") || url.startsWith("https://")) {
    // 如果是HTTPS的buaa.fun链接，在开发环境下转换为代理路径
    if (process.env.NODE_ENV === 'development' && url.includes('www.buaa.fun/blm')) {
      // 提取/blm之后的路径部分
      const pathMatch = url.match(/\/blm(.+)$/);
      if (pathMatch) {
        return `/blm${pathMatch[1]}`;
      }
    }
    return url;
  }

  // 确保URL以/开头
  if (!url.startsWith("/")) {
    url = "/" + url;
  }

  // 确保URL包含/blm
  if (!url.includes("/blm")) {
    url = "/blm" + url;
  }

  // 在开发环境下使用代理路径，生产环境使用完整URL
  if (process.env.NODE_ENV === 'development') {
    return url; // 直接返回代理路径，如 /blm/preview/app/xxx.png
  } else {
    return `${BASE_URL}${url}`;
  }
}

/**
 * 获取头像占位符（用户名首字母）
 * @param username 用户名
 * @returns 首字母大写
 */
export function getUserInitial(username: string | undefined | null): string {
  if (!username) return "";
  return username.charAt(0).toUpperCase();
}
